var obj = {
  name: 'why',
  age: 18
}

var info = Object.create(obj, {
  address: {
    value: '北京市',
    enumerable: true
  }
})

// console.log(info);
// console.log(info.__proto__);

// console.log(info.address);
// console.log(info.name);
// console.log(info.age);

// hasOwnProperty 方法
// 判断属性是不是自己的属性(不会去查找原型上的)
console.log(info.hasOwnProperty('address')); //true 是自己的属性
console.log(info.hasOwnProperty('name')); //false 原型上的

console.log('------------------------');

// in 操作符:不管在当前对象还是原型中 返回的都是true
console.log("address" in info);
console.log("name" in info);

console.log('----------------------');

// for in
for (var key in info) {
  console.log(key);
}

console.log('-------------------------');

// instanceof 
// 用于检测 构造函数 的 prototype ,是否出现在 某个实例对象 的 原型链上